package com.key.w8.http1.invoker;

import com.key.w8.http1.entity.HttpRequest;
import com.key.w8.http1.entity.HttpResponse;
import io.netty.channel.ChannelPromise;


import java.util.concurrent.CompletableFuture;

/**
 * @Author: k8
 * @CreateTime: 2025-02-18
 * @Version: 1.0
 */
public interface Http1WriterInvoker {
    void writeRequest(HttpRequest httpRequest, CompletableFuture<Void> future);
    void writeRequest(HttpRequest httpRequest,ChannelPromise promise);
    void writeRequest(HttpRequest httpRequest);
    void writeRequest(byte[] data,CompletableFuture<Void> future);
    void writeRequest(byte[] data, ChannelPromise promise);
    void writeRequest(byte[] data);
    void writeResponse(HttpResponse httpResponse, CompletableFuture<Void> future);
    void writeResponse(HttpResponse httpResponse,ChannelPromise promise);
    void writeResponse(HttpResponse httpResponse);
    void writeResponse(byte[] data,CompletableFuture<Void> future);
    void writeResponse(byte[] data, ChannelPromise promise);
    void writeResponse(byte[] data);

}
